home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / thesource-7.lha / Source / Articles / Stereoscopic / Stereo.lha / objects.h next >
Text File  |  1994-06-11  |  6KB  |  213 lines

  1. /* Name : demo.c
  2.  *
  3.  * Notes:
  4.  *
  5.  *      $Log: objects.h,v $
  6.  * Revision 1.2  1994/06/03  18:24:02  idr
  7.  * Added new objects.
  8.  *
  9.  * Revision 1.1  1994/04/19  18:12:16  idr
  10.  * Initial revision
  11.  *
  12.  */
  13. /******************************************************************************/
  14.  
  15. const Point3D  CubePts[] =
  16. {
  17.     {  0x100, 0x100, 0x100 },
  18.     { -0x100, 0x100, 0x100 },
  19.     { -0x100,-0x100, 0x100 },
  20.     {  0x100,-0x100, 0x100 },
  21.     {  0x100, 0x100,-0x100 },
  22.     { -0x100, 0x100,-0x100 },
  23.     { -0x100,-0x100,-0x100 },
  24.     {  0x100,-0x100,-0x100 },
  25. };
  26.  
  27.  
  28. const WORD     CubeSPts[] =
  29. {
  30.      1, 2, 3, 4,
  31.      8, 7, 6, 5,
  32.      6, 2, 1, 5,
  33.      7, 8, 4, 3,
  34.      6, 7, 3, 2,
  35.      1, 4, 8, 5,
  36. };
  37.  
  38.  
  39. const Surface  CubeSurfs[] =
  40. {
  41.     { &CubeSurfs[1], 4, &CubeSPts[0]  },
  42.     { &CubeSurfs[2], 4, &CubeSPts[4]  },
  43.     { &CubeSurfs[3], 4, &CubeSPts[8]  },
  44.     { &CubeSurfs[4], 4, &CubeSPts[12] },
  45.     { &CubeSurfs[5], 4, &CubeSPts[16] },
  46.     { NULL,          4, &CubeSPts[20] },
  47. };
  48.  
  49.  
  50. const Object3D Cube =
  51. {
  52.     8, CubePts,
  53.     CubeSurfs
  54. };
  55.  
  56. /******************************************************************************/
  57.  
  58. const Point3D CylinderPts[] =
  59. {
  60.     { 0x0000,0x0100,0x0100 }, { 0x004b,0x00f5,0x0100 },
  61.     { 0x0090,0x00d4,0x0100 }, { 0x00c8,0x00a0,0x0100 },
  62.     { 0x00ee,0x005e,0x0100 }, { 0x00ff,0x0014,0x0100 },
  63.     { 0x00fa,0xffc8,0x0100 }, { 0x00de,0xff81,0x0100 },
  64.     { 0x00af,0xff45,0x0100 }, { 0x0071,0xff1a,0x0100 },
  65.     { 0x0028,0xff03,0x0100 }, { 0xffdc,0xff03,0x0100 },
  66.     { 0xff93,0xff18,0x0100 }, { 0xff54,0xff43,0x0100 },
  67.     { 0xff24,0xff7e,0x0100 }, { 0xff07,0xffc4,0x0100 },
  68.     { 0xff01,0x0010,0x0100 }, { 0xff11,0x005a,0x0100 },
  69.     { 0xff36,0x009d,0x0100 }, { 0xff6d,0x00d1,0x0100 },
  70.     { 0x0000,0x0100,-0x0100 }, { 0x004b,0x00f5,-0x0100 },
  71.     { 0x0090,0x00d4,-0x0100 }, { 0x00c8,0x00a0,-0x0100 },
  72.     { 0x00ee,0x005e,-0x0100 }, { 0x00ff,0x0014,-0x0100 },
  73.     { 0x00fa,0xffc8,-0x0100 }, { 0x00de,0xff81,-0x0100 },
  74.     { 0x00af,0xff45,-0x0100 }, { 0x0071,0xff1a,-0x0100 },
  75.     { 0x0028,0xff03,-0x0100 }, { 0xffdc,0xff03,-0x0100 },
  76.     { 0xff93,0xff18,-0x0100 }, { 0xff54,0xff43,-0x0100 },
  77.     { 0xff24,0xff7e,-0x0100 }, { 0xff07,0xffc4,-0x0100 },
  78.     { 0xff01,0x0010,-0x0100 }, { 0xff11,0x005a,-0x0100 },
  79.     { 0xff36,0x009d,-0x0100 }, { 0xff6d,0x00d1,-0x0100 },
  80. };
  81.  
  82.  
  83. const WORD CylinderSPts[] =
  84. {
  85.     20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10,  9,  8,  7,  6,  5,  4,  3,  2,  1,
  86.     21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
  87.  
  88.     1, 2, 22, 21,
  89.     2, 3, 23, 22,
  90.     3, 4, 24, 23,
  91.     4, 5, 25, 24,
  92.     5, 6, 26, 25,
  93.     6, 7, 27, 26,
  94.     7, 8, 28, 27,
  95.     8, 9, 29, 28,
  96.     9, 10, 30, 29,
  97.     10, 11, 31, 30,
  98.     11, 12, 32, 31,
  99.     12, 13, 33, 32,
  100.     13, 14, 34, 33,
  101.     14, 15, 35, 34,
  102.     15, 16, 36, 35,
  103.     16, 17, 37, 36,
  104.     17, 18, 38, 37,
  105.     18, 19, 39, 38,
  106.     19, 20, 40, 39,
  107.     20,  1, 21, 40,
  108. };
  109.  
  110.  
  111. const Surface  CylinderSurfs[] =
  112. {
  113.     { &CylinderSurfs[1], 20, &CylinderSPts[0] },
  114.     { &CylinderSurfs[2], 20, &CylinderSPts[20] },
  115.  
  116.     { &CylinderSurfs[3],   4, &CylinderSPts[40] },
  117.     { &CylinderSurfs[4],   4, &CylinderSPts[44] },
  118.     { &CylinderSurfs[5],   4, &CylinderSPts[48] },
  119.     { &CylinderSurfs[6],   4, &CylinderSPts[52] },
  120.     { &CylinderSurfs[7],   4, &CylinderSPts[56] },
  121.     { &CylinderSurfs[8],   4, &CylinderSPts[60] },
  122.     { &CylinderSurfs[9],   4, &CylinderSPts[64] },
  123.     { &CylinderSurfs[10],  4, &CylinderSPts[68] },
  124.     { &CylinderSurfs[11],  4, &CylinderSPts[72] },
  125.     { &CylinderSurfs[12],  4, &CylinderSPts[76] },
  126.     { &CylinderSurfs[13],  4, &CylinderSPts[80] },
  127.     { &CylinderSurfs[14],  4, &CylinderSPts[84] },
  128.     { &CylinderSurfs[15],  4, &CylinderSPts[88] },
  129.     { &CylinderSurfs[16],  4, &CylinderSPts[92] },
  130.     { &CylinderSurfs[17],  4, &CylinderSPts[96] },
  131.     { &CylinderSurfs[18],  4, &CylinderSPts[100] },
  132.     { &CylinderSurfs[19],  4, &CylinderSPts[104] },
  133.     { &CylinderSurfs[20],  4, &CylinderSPts[108] },
  134.     { &CylinderSurfs[21],  4, &CylinderSPts[112] },
  135.     { NULL,                4, &CylinderSPts[116] },
  136. };
  137.  
  138.  
  139. const Object3D Cylinder =
  140. {
  141.     40, CylinderPts,
  142.     CylinderSurfs
  143. };
  144.  
  145. /******************************************************************************/
  146.  
  147. const Point3D VasePts[] =
  148. {
  149.     {  0x00d0,  0x0100, -0x00d0 },
  150.     {  0x00d0,  0x0100,  0x00d0 },
  151.     { -0x00d0,  0x0100,  0x00d0 },
  152.     { -0x00d0,  0x0100, -0x00d0 },
  153.  
  154.     {  0x0080,  0x0000, -0x0080 },
  155.     {  0x0080,  0x0000,  0x0080 },
  156.     { -0x0080,  0x0000,  0x0080 },
  157.     { -0x0080,  0x0000, -0x0080 },
  158.  
  159.     {  0x0100,  -0x0080, -0x0100 },
  160.     {  0x0100,  -0x0080,  0x0100 },
  161.     { -0x0100,  -0x0080,  0x0100 },
  162.     { -0x0100,  -0x0080, -0x0100 },
  163. };
  164.  
  165.  
  166. const WORD    VaseSurfPts[] =
  167. {
  168.     /* Top */
  169.      4,  3,  2,  1,
  170.  
  171.     /* Bottom */
  172.      9, 10, 11, 12,
  173.  
  174.     /* Front */
  175.      2,  6,  5,  1,
  176.      6, 10,  9,  5,
  177.  
  178.     /* Side 1 */
  179.      3,  7,  6,  2, 
  180.      7, 11, 10,  6,
  181.  
  182.     /* Side 2 */
  183.      8,  4,  1,  5,
  184.     12,  8,  5,  9,
  185.  
  186.     /* Back */
  187.      4,  8,  7,  3,
  188.      8, 12, 11,  7,
  189. };
  190.  
  191.  
  192. const Surface VaseSurfs[]   =
  193. {
  194.     { &VaseSurfs[1], 4, &VaseSurfPts[ 0] },
  195.     { &VaseSurfs[2], 4, &VaseSurfPts[ 4] },
  196.     { &VaseSurfs[3], 4, &VaseSurfPts[ 8] },
  197.     { &VaseSurfs[4], 4, &VaseSurfPts[12] },
  198.     { &VaseSurfs[5], 4, &VaseSurfPts[16] },
  199.     { &VaseSurfs[6], 4, &VaseSurfPts[20] },
  200.     { &VaseSurfs[7], 4, &VaseSurfPts[24] },
  201.     { &VaseSurfs[8], 4, &VaseSurfPts[28] },
  202.     { &VaseSurfs[9], 4, &VaseSurfPts[32] },
  203.     { NULL,          4, &VaseSurfPts[36] },
  204. };
  205.  
  206.  
  207. const Object3D Vase =
  208. {
  209.     12, VasePts,
  210.     VaseSurfs
  211. };
  212.  
  213.